﻿using RabbitMQ.Client;
using System;
using System.Text;

namespace rabbitmq_client
{
    class Program
    {
        static void Main(string[] args)
        {
            //Console.WriteLine("Hello World!");
            var factory = new ConnectionFactory();
            factory.HostName = "localhost";//主机名，Rabbit会拿这个IP生成一个endpoint，这个很熟悉吧，就是socket绑定的那个终结点。
            factory.UserName = "guest";//默认用户名,用户可以在服务端自定义创建，有相关命令行
            factory.Password = "guest";//默认密码

            using (var connection = factory.CreateConnection())//连接服务器，即正在创建终结点。
            {
                //创建一个通道，这个就是Rabbit自己定义的规则了，如果自己写消息队列，这个就可以开脑洞设计了
                //这里Rabbit的玩法就是一个通道channel下包含多个队列Queue
                using (var channel = connection.CreateModel())
                {
                    channel.QueueDeclare("wangwr", false, false, false, null);//创建一个名称为kibaqueue的消息队列
                    var properties = channel.CreateBasicProperties();
                    properties.DeliveryMode = 1;
                    string message = "I am wangwr01"; //传递的消息内容
                    channel.BasicPublish("", "wangwr", properties, Encoding.UTF8.GetBytes(message)); //生产消息
                    Console.WriteLine($"Send:{message}");
                }
            }
        }
    }
}
